<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:bi="http://java.sun.com/jsf/composite/bill">

    <h:body>
        <ui:composition template="/resources/template/template.xhtml">

            <ui:define name="content">
                <h:form>
                    <p:panel header="Reprint" >
                        <f:facet name="header" >
                            <h:outputLabel value="Reprint" ></h:outputLabel>
                            <hr/>

                            <p:commandButton ajax="false" value="To Cancel" action="/bill_cancel" disabled="#{billSearch.bill.cancelled or billSearch.bill.refundedBill ne null}" onclick="onSubmitButton();">                           
                            </p:commandButton>
                            <p:commandButton ajax="false" value="To Refund" action="/bill_refund" disabled="#{billSearch.bill.cancelled}" onclick="onSubmitButton();">                          
                            </p:commandButton>
                        </f:facet>

                        <p:panel>
                            <p:panelGrid columns="2" style="width: 100%;">
                                <p:panel header="Patient Detail">
                                    <p:panelGrid columns="2">
                                        <h:outputLabel value="Patient ​Name:" ></h:outputLabel>
                                        <h:outputLabel value="#{billSearch.bill.patient.person.nameWithTitle }" ></h:outputLabel>
                                        <h:outputLabel value="Age" />
                                        <h:outputLabel value="#{billSearch.bill.patient.age}"  />
                                        <h:outputLabel value="Sex" >
                                        </h:outputLabel>
                                        <h:outputLabel value="#{billSearch.bill.patient.person.sex}" >
                                        </h:outputLabel>
                                        <h:outputLabel value="Phone" >
                                        </h:outputLabel>
                                        <h:outputLabel value="#{billSearch.bill.patient.person.phone}" >
                                        </h:outputLabel>
                                    </p:panelGrid>
                                </p:panel>
                                <p:panel header="Bill Detail">
                                    <p:panelGrid columns="2">
                                        <h:outputLabel value="Bill No :" ></h:outputLabel>
                                        <h:outputLabel value="#{billSearch.bill.insId}" ></h:outputLabel>
                                        <h:outputLabel value="Payment Type : " ></h:outputLabel>
                                        <h:panelGroup>
                                            <h:outputLabel value="#{billSearch.bill.paymentMethod}" />
                                            <h:outputLabel value=" : "/>
                                            <h:outputLabel value="#{billSearch.bill.chequeRefNo}" />
                                        </h:panelGroup>
                                        <h:outputLabel value="Total :" ></h:outputLabel>
                                        <h:outputLabel value="#{billSearch.bill.total}" ></h:outputLabel>
                                        <h:outputLabel value="Discount :" ></h:outputLabel>
                                        <h:outputLabel value="#{billSearch.bill.discount}" ></h:outputLabel>
                                        <h:outputLabel value="Net Total :" ></h:outputLabel>
                                        <h:outputLabel value="#{billSearch.bill.netTotal}" ></h:outputLabel>
                                    </p:panelGrid>
                                </p:panel>
                            </p:panelGrid>
                            <p:panel header="Bill Item Detail">
                                <p:dataTable rowIndexVar="rowIndex"
                                             editable="true" value="#{billSearch.billFees2}" var="bip" >
                                    <p:ajax event="rowEdit" listener="#{billSearch.onEdit}" />  
                                    <p:ajax event="rowEditCancel" listener="#{billSearch.onEdit}" />  
                                    <p:column>
                                        <f:facet name="header">No</f:facet>
                                        <h:outputLabel value="#{rowIndex+1}"/>
                                    </p:column>
                                    <p:column>
                                        <f:facet name="header">Item</f:facet>
                                        <h:outputLabel value="#{bip.billItem.item.name}"/>
                                    </p:column>
                                    <p:column>
                                        <f:facet name="header">Gross Fee Value</f:facet>
                                        <h:outputLabel value="#{bip.feeGrossValue}"/>
                                    </p:column>
                                    <p:column>
                                        <f:facet name="header">Discount Fee Value</f:facet>
                                        <h:outputLabel value="#{bip.feeDiscount}"/>
                                    </p:column>
                                    <p:column>
                                        <f:facet name="header">Net Fee Value</f:facet>
                                        <h:outputLabel value="#{bip.feeValue}"/>
                                    </p:column>  
                                    <p:column>
                                        <f:facet name="header">Fee Name</f:facet>
                                        <h:outputLabel value="#{bip.fee.name}"/>
                                    </p:column> 
                                    <p:column>
                                        <f:facet name="header">Speciality</f:facet>
                                        <h:outputLabel value="#{bip.fee.speciality.name}"/>
                                    </p:column> 
                                    <p:column headerText="Payee">
                                        <p:cellEditor>  
                                            <f:facet name="output"> 
                                                <h:outputLabel value="#{bip.staff.person.name}"  ></h:outputLabel>
                                            </f:facet>  
                                            <f:facet name="input">  
                                                <p:selectOneMenu value="#{bip.staff}" rendered="#{bip.fee.speciality!=null}" disabled="#{bip.paidValue!=0 or !webUserController.hasPrivilege('ChangeProfessionalFee')}" >
                                                    <f:selectItem itemLabel="Select Staff" />
                                                    <f:selectItems  value="#{staffController.getSpecialityStaff(bip.fee.speciality)}" var="bifs" itemLabel="#{bifs.person.name}" itemValue="#{bifs}" />
                                                </p:selectOneMenu>
                                            </f:facet>  
                                        </p:cellEditor>  

                                    </p:column>
                                    <p:column style="width:6%">  
                                        <p:rowEditor > 
                                        </p:rowEditor>
                                    </p:column>  
                                </p:dataTable>
                            </p:panel>
                        </p:panel>
                    </p:panel>


                    <p:panel rendered="#{billSearch.bill.billType ne 'CollectingCentreBill'}">
                        <h:panelGroup rendered="#{sessionController.loggedPreference.opdBillPaperType eq 'FiveFivePaper'}" >

                            <h:panelGroup id="gpBillPreview" rendered="#{sessionController.loggedPreference.printLabelForOPdBill eq false
                                                                         and sessionController.loggedPreference.applicationInstitution eq 'Ruhuna'
                                                                         and sessionController.loggedPreference.fiveFivePaperWithHeadings eq false}">
                                <div class="nonPrintBlock">
                                    <p:commandButton value="Print" ajax="false" action="#"  >
                                        <p:printer target="gpBillPreview" ></p:printer>
                                    </p:commandButton>
                                </div>
                                <bi:opdBillPrintRuhunu bill="#{billSearch.bill}" dup="true" rendered="#{billSearch.bill.refundedBill eq null}"/>
                                <ui:repeat value="#{billPackageController.bills}" var="bill">
                                    <bi:opdBillPrintRuhunu_pack bill="#{bill}" dup="false"/>
                                </ui:repeat>
                                <!--  <br/>
                                                        <h:panelGroup >
                                                            <bi:opdBillPrintRuhunu bill="#{billSearch.bill.cancelledBill}" />                        
                                                        </h:panelGroup>-->

                            </h:panelGroup>

                            <h:panelGroup id="gpBillPreviewCoop" rendered="#{sessionController.loggedPreference.printLabelForOPdBill eq true}">
                                <div class="nonPrintBlock">
                                    <p:commandButton value="Print" ajax="false" action="#"  >
                                        <p:printer target="gpBillPreviewCoop" ></p:printer>
                                    </p:commandButton>
                                </div>
                                <bi:opdBillPrintCoop bill="#{billSearch.bill}" dup="false"/>

                            </h:panelGroup>

                            <h:panelGroup rendered="#{sessionController.loggedPreference.fiveFivePaperWithHeadings eq true}">

                                <div class="nonPrintBlock">
                                    <p:commandButton value="Print" ajax="false" action="#"  >
                                        <p:printer target="fiveFivePaperWithHeadings" ></p:printer>
                                    </p:commandButton>

                                    <p:commandButton value="New Bill" ajax="false" action="#{billController.prepareNewBill()}" >
                                    </p:commandButton>

                                    <p:commandButton ajax="false" value="Batch Cancel" action="#{billController.cancellAll}" style="float: right;"
                                                     onclick="if (!confirm('Are you sure you want to Cancel This Bill ?'))
                                                                 return false;"/>
                                </div>
                                <h:panelGroup id="fiveFivePaperWithHeadings">
                                    <ui:repeat value="#{billSearch.bill}" var="b">
                                        <bi:five_five_paper_with_headings bill="#{b}"/>                        
                                    </ui:repeat>
                                </h:panelGroup>
                            </h:panelGroup>

                            <h:panelGroup id="gpBillPreviewRmh" rendered="#{sessionController.loggedPreference.applicationInstitution eq 'Rmh' }">
                                <div class="nonPrintBlock">
                                    <p:commandButton value="Print" ajax="false" action="#"  >
                                        <p:printer target="gpBillPreviewRmh" ></p:printer>
                                    </p:commandButton>
                                </div>
                                <bi:opdBillPrintRmh bill="#{billSearch.bill}" dup="false"/>

                            </h:panelGroup>
                        </h:panelGroup>

                        <h:panelGroup rendered="#{sessionController.loggedPreference.opdBillPaperType eq 'PosPaper'}">
                            <h:panelGroup rendered="#{sessionController.loggedPreference.opdPosBillWithoutLogo eq 'false'}">
                                <div class="nonPrintBlock">
                                    <p:commandButton value="Print" ajax="false" action="#"  >
                                        <p:printer target="gpPosBill" ></p:printer>
                                    </p:commandButton>

                                    <p:commandButton value="New Bill" ajax="false" action="#{billController.prepareNewBill()}" >
                                    </p:commandButton>

                                    <p:commandButton ajax="false" value="Batch Cancel" action="#{billController.cancellAll}" style="float: right;"
                                                     onclick="if (!confirm('Are you sure you want to Cancel This Bill ?'))
                                                                 return false;"/>
                                </div>
                                <h:panelGroup id="gpPosBill">
                                    <div style="page-break-after: always;">
                                        <bi:posOpdBill bill="#{billSearch.bill}" duplicate="true"/>  
                                    </div>
                                    <div></div>
                                    <div style="page-break-after: always;">
                                        <bi:posOpdBill bill="#{billSearch.bill}" duplicate="true"/>  
                                    </div>
                                </h:panelGroup>
                            </h:panelGroup>


                            <h:panelGroup rendered="#{sessionController.loggedPreference.opdPosBillWithoutLogo eq 'true'}">
                                <div class="nonPrintBlock">
                                    <p:commandButton value="Print" ajax="false" action="#"  >
                                        <p:printer target="gpPosBillWithoutLogo" ></p:printer>
                                    </p:commandButton>

                                    <p:commandButton value="New Bill" ajax="false" action="#{billController.prepareNewBill()}" >
                                    </p:commandButton>

                                    <p:commandButton ajax="false" value="Batch Cancel" action="#{billController.cancellAll}" style="float: right;"
                                                     onclick="if (!confirm('Are you sure you want to Cancel This Bill ?'))
                                                                 return false;"/>
                                </div>
                                <h:panelGroup id="gpPosBillWithoutLogo">
                                    <bi:posOpdBillWithoutLogo bill="#{billSearch.bill}" duplicate="true"/>  

                                </h:panelGroup>
                            </h:panelGroup>

                        </h:panelGroup>
                    </p:panel>

                    <p:panel rendered="#{billSearch.bill.billType eq 'CollectingCentreBill'}">
                        <h:panelGroup rendered="#{sessionController.loggedPreference.opdBillPaperType eq 'FiveFivePaper'}" >
                            <h:panelGroup id="gpBillPreviewCC" rendered="#{sessionController.loggedPreference.printLabelForOPdBill eq false
                                                                           and sessionController.loggedPreference.applicationInstitution eq 'Ruhuna'
                                                                           and sessionController.loggedPreference.fiveFivePaperWithHeadings eq false}">
                                <div class="nonPrintBlock">
                                    <p:commandButton value="Print" ajax="false" action="#"  >
                                        <p:printer target="gpBillPreviewCC" ></p:printer>
                                    </p:commandButton>
                                </div>
                                <bi:opdCCBillPrintRuhunu bill="#{billSearch.bill}" dup="true" rendered="#{billSearch.bill.refundedBill eq null}"/>

                                <ui:repeat value="#{billSearch.bills}" var="bill" rendered="#{billSearch.bill.refundedBill ne null}">
                                    <bi:opdCCBillPrintRuhunu bill="#{bill}" dup="true" />
                                </ui:repeat>
                                <!--  <br/>
                                                        <h:panelGroup >
                                                            <bi:opdBillPrintRuhunu bill="#{billSearch.bill.cancelledBill}" />                        
                                                        </h:panelGroup>-->

                            </h:panelGroup>
                        </h:panelGroup>
                    </p:panel>


                </h:form>
            </ui:define>



        </ui:composition>

    </h:body>
</html>
